/*
 * Game.h
 *
 *  Created on: Apr 6, 2014
 *      Author: zby
 */

#ifndef GAME_H_
#define GAME_H_

//abstract class
using graph::Node;
using board::_eplayer;
using board::PLAYER_A;
using board::PLAYER_B;
using board::NONE;


class Game_two{

    //protected:
    public:
        bool bExit;
    public:
        virtual _eplayer whoWon()=0;  //shall return who won: PLAYER_A or PLAYER_B. If any - NONE.
        virtual Node compMove()=0;      //shall implement algorithm for computers' move.
        virtual Node yourMove()=0;      //shall implement code to take users' move.
        virtual void usermenu()=0;    //shall implement interface for user such matters as player color/size board etc.
        virtual void play()=0;          //shall implement state machine/simple loop or sth. where specified sequences for game(moves) will be executed.
};

#endif /* GAME_H_ */
